Question: Below is a portion of the graph of a function, $y=f(x)$:

[asy]
import graph; size(8cm); real lsf=0.5; pen dps=linewidth(0.7)+fontsize(10); defaultpen(dps); pen ds=black; real xmin=-3.25,xmax=5.25,ymin=-3.25,ymax=4.25;

pen cqcqcq=rgb(0.75,0.75,0.75);

/*grid*/ pen gs=linewidth(0.7)+cqcqcq+linetype("2 2"); real gx=1,gy=1;
for(real i=ceil(xmin/gx)*gx;i<=floor(xmax/gx)*gx;i+=gx) draw((i,ymin)--(i,ymax),gs); for(real i=ceil(ymin/gy)*gy;i<=floor(ymax/gy)*gy;i+=gy) draw((xmin,i)--(xmax,i),gs);

Label laxis; laxis.p=fontsize(10);

xaxis("",xmin,xmax,Ticks(laxis,Step=1.0,Size=2,NoZero),Arrows(6),above=true); yaxis("",ymin,ymax,Ticks(laxis,Step=1.0,Size=2,NoZero),Arrows(6),above=true);
real f1(real x){return (x-4)/(x-3);}
draw(graph(f1,-3.25,2.7),linewidth(1));
draw(graph(f1,3.2,5.25),linewidth(1));
clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle);
label("$y=f(x)$",(5.5,0.6),E);
[/asy]

Suppose we define another function by $g(x)=f(x+a)$. On the evidence of the graph above, for what choice of $a$ is it true that $g(x)$ is identical to its inverse, $g^{-1}(x)$?
Solution: Note that the graph of $g(x)$ is identical to the graph of $f(x)$ shifted $a$ units to the left. (This is true because if $(x,f(x))$ is a point on the graph of $f$, then $(x-a,f(x))$ is the corresponding point on the graph of $g$.)

The graph of a function and its inverse are reflections of each other across the line $y=x$. Therefore, if $g(x)$ is its own inverse, then the graph of $g(x)$ must be symmetric with respect to the line $y=x$.

The graph of $f(x)$ is symmetric with respect to the line $y=x-2$: [asy]
draw((-1.25,-3.25)--(5.25,3.25),red+0.75+dashed);
import graph; size(8cm); real lsf=0.5; pen dps=linewidth(0.7)+fontsize(10); defaultpen(dps); pen ds=black; real xmin=-3.25,xmax=5.25,ymin=-3.25,ymax=4.25;

pen cqcqcq=rgb(0.75,0.75,0.75);

/*grid*/ pen gs=linewidth(0.7)+cqcqcq+linetype("2 2"); real gx=1,gy=1;
for(real i=ceil(xmin/gx)*gx;i<=floor(xmax/gx)*gx;i+=gx) draw((i,ymin)--(i,ymax),gs); for(real i=ceil(ymin/gy)*gy;i<=floor(ymax/gy)*gy;i+=gy) draw((xmin,i)--(xmax,i),gs);

Label laxis; laxis.p=fontsize(10);

xaxis("",xmin,xmax,Ticks(laxis,Step=1.0,Size=2,NoZero),Arrows(6),above=true); yaxis("",ymin,ymax,Ticks(laxis,Step=1.0,Size=2,NoZero),Arrows(6),above=true);
real f1(real x){return (x-4)/(x-3);}
draw(graph(f1,-3.25,2.7),linewidth(1));
draw(graph(f1,3.2,5.25),linewidth(1));
clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle);

label("$y=f(x)$",(5.5,0.6),E);
[/asy]

Therefore, to make this graph symmetric with respect to $y=x$, we must shift it $2$ places to the left: [asy]
draw((-3.25,-3.25)--(4.25,4.25),red+0.75+dashed);
import graph; size(8.7cm); real lsf=0.5; pen dps=linewidth(0.7)+fontsize(10); defaultpen(dps); pen ds=black; real xmin=-3.25,xmax=5.25,ymin=-3.25,ymax=4.25;

pen cqcqcq=rgb(0.75,0.75,0.75);

/*grid*/ pen gs=linewidth(0.7)+cqcqcq+linetype("2 2"); real gx=1,gy=1;
for(real i=ceil(xmin/gx)*gx;i<=floor(xmax/gx)*gx;i+=gx) draw((i,ymin)--(i,ymax),gs); for(real i=ceil(ymin/gy)*gy;i<=floor(ymax/gy)*gy;i+=gy) draw((xmin,i)--(xmax,i),gs);

Label laxis; laxis.p=fontsize(10);

xaxis("",xmin,xmax,Ticks(laxis,Step=1.0,Size=2,NoZero),Arrows(6),above=true); yaxis("",ymin,ymax,Ticks(laxis,Step=1.0,Size=2,NoZero),Arrows(6),above=true);
real f1(real x){return (x-2)/(x-1);}
draw(graph(f1,-3.25,0.7),linewidth(1));
draw(graph(f1,1.2,5.25),linewidth(1));
clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle);

label("$y=f(x+2)$",(5.5,0.8),E);
[/asy]

So, $a=\boxed{2}$.